package graphclustering.data;

import java.util.ArrayList;
import java.util.List;

public class Cluster {

    public Cluster parent;

    public List<Cluster> clusterChildren;

    public List<String> atomicNodeIDList;

    public String label;

    public float imQuality;

    public Cluster() {
        clusterChildren = new ArrayList<Cluster>();
        atomicNodeIDList = new ArrayList<String>();
    }

    public Cluster clone() {
    	Cluster self = new Cluster();
    	self.imQuality = this.imQuality;
    	self.label = this.label;
    	self.atomicNodeIDList.addAll(this.atomicNodeIDList);
    	for(Cluster child : this.clusterChildren) {
    		Cluster cc = child.clone();
    		cc.parent = self;
    		self.clusterChildren.add(cc);
    	}
    	return self;
    }
}
